1. Field of the Invention
The present invention relates to channel decoding techniques, and more specifically to a method of decoding a turbo-code encoded signal in a receiver and a corresponding receiver.
2. Description of Related Art
The present invention is directed in general to the field of wireless communication systems, and more particularly to CDMA systems such as the different CDMA based mobile radio systems like CDMA 2000, WCDMA (Wide Band CDMA) or the IS-95 standard.
In mobile radio systems, channel coding is used to make the data transmission over the mobile radio channel more robust against noise and interference. Standard channel coding schemes used in existing mobile radio systems like GSM are Convolutional Coding, Reed Salomon Coding and other kinds of block codes.
The third generation mobile radio system specifies Convolutional codes as well as Turbo-codes as channel coding techniques [3GPP, Technical Specification Group Radio Access Network, Multiplexing and channel coding (FDD), 3G TS 25.212 version 3.5.0 (2000-12), Release 1999].
In Turbo-code encoders, forward error correction is enabled by introducing parity bits. For Turbo-codes, the original information, denoted as systematic information, is transmitted together with the parity information. The encoder for 3GPP is two recursive systematic convolutional (RSC) encoders with constraint length K=4, which can also be interpreted as 8-state finite state machines. The first RSC encoder works on the block of information in its original sequence, the second one in an interleaved sequence.
On the receiver side, there is a corresponding component decoder for each of them. Each component decoder implements a Maximum-A-Posteriori (MAP) Algorithm, and is usually a Soft-in-Soft-out (SISO) decoder.
Each block is decoded in an iterative manner. The systematic information and the parity information serve as inputs of the first component decoder MAP1. The soft-output of MAP1 reflects its confidence on the received bits of having been sent either as ‘0’ or ‘1’. These confidences are interleaved in the same manner as in the encoder and passed to the second component decoder MAP2 as a-priori information. The second component decoder uses this information to bias its estimation comprising the interleaved systematic information and the parity information of the second encoder. The soft-outputs are again passed on to MAP1, and so on. The exchange continues until a stop criterion is fulfilled. Stop criteria range from simple cases, such as “fixed number of iterations”, over cyclic redundancy check (CRC) to rather complex statistical analysis.
Implementation issues for Turbo-decoder architectures using the MAP algorithm have already been discussed in several papers and are well known [A. Worm, Implementation Issues of Turbo-Decoders, PhD thesis, Institute of Microelectronic Systems, Department of Electrical Engineering and Information Technology, University of Kaiserslautern, Forschungsberichte Mikroelektronik, Bd.3, Germany, 2001].
The MAP algorithm is transformed into the logarithmic domain to reduce operator strength [S. S. Pietrobond and A. S. Barbulescu, A Simplification of the Modified Bahl Decoding Algorithm for Systematic Convolutional Codes, Proc. International Symposium on Information Theory and its Applications, pages 1073-1077, Sydney, Australia, November 1994] Multiplications become additions, and additions are replaced by a modified comparison. It has a forward recursion, a backward recursion and soft-output calculation.
Two well known MAP algorithms work in the logarithmic domain. The first one is the “LogMAP” algorithm and shows the same performance as the ideal MAP algorithm using exponential functions.
The second one is the “MaxLogMAP” algorithm and is a sub-optimum version of the LogMAP algorithm.
In principle, the performance of a LogMAP based turbo-code decoder is better than the performance of a MaxLogMAP based turbo-code decoder. However, under certain circumstances, the performance of the MaxLogMAP based decoder is much more robust and exceeds the performance of the LogMAP based decoder.
In conventional systems, only one of the above-mentioned decoding algorithms are used, either the LogMAP or the MaxLogMAP algorithm.